<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BApplication</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<div class="class" name="BApplication">
			<h1>BApplication</h1>
			<p id="resume"><a href="#desc">desc</a></p>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right"></td><td><a href="#BApplication(int,char**)">BApplication</a>(int argc = 0, char** argv = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#~BApplication()">~BApplication</a>();</td></tr>
				<tr><td align="right">static int </td><td><a href="#argc()">argc</a>();</td></tr>
				<tr><td align="right">static const BString& </td><td><a href="#argv(int)">argv</a>(int index);</td></tr>
				<tr><td align="right">static void </td><td><a href="#setFrequency(int)">setFrequency</a>(int frequency);</td></tr>
				<tr><td align="right">static int </td><td><a href="#frequency()">frequency</a>();</td></tr>
				<tr><td align="right">static int </td><td><a href="#realFrequency()">realFrequency</a>();</td></tr>
				<tr><td align="right">static void </td><td><a href="#setClickInterval(double)">setClickInterval</a>(double clickInterval);</td></tr>
				<tr><td align="right">static double </td><td><a href="#clickInterval()">clickInterval</a>();</td></tr>
				<tr><td align="right">static void </td><td><a href="#exit(int)">exit</a>(int code = 0);</td></tr>
				<tr><td align="right">static int </td><td><a href="#code()">code</a>();</td></tr>
				<tr><td align="right">static int </td><td><a href="#execute()">execute</a>();</td></tr>
				<tr><td align="right">static const BString& </td><td><a href="#appPath()">appPath</a>();</td></tr>
				<tr><td align="right">static const BString& </td><td><a href="#libPath()">libPath</a>();</td></tr>
				<tr><td align="right">static const BString& </td><td><a href="#homePath()">homePath</a>();</td></tr>
				<tr><td align="right">static BString </td><td><a href="#currentPath()">currentPath</a>();</td></tr>
				<tr><td align="right">static bool </td><td><a href="#currentPath(BString&)">currentPath</a>(BString& path);</td></tr>
				<tr><td align="right">static bool </td><td><a href="#setCurrentPath(const BString&)">setCurrentPath</a>(const BString& path);</td></tr>
				<tr><td align="right">static void </td><td><a href="#setFont(const BString&,int)">setFont</a>(const BString& family, int size = 20);</td></tr>
				<tr><td align="right">static void </td><td><a href="#setFont(BFont*)">setFont</a>(BFont* font);</td></tr>
				<tr><td align="right">static const BFont* </td><td><a href="#font()">font</a>();</td></tr>
				<tr><td align="right">static void </td><td><a href="#setStyle(BStyle*)">setStyle</a>(BStyle* style);</td></tr>
				<tr><td align="right">static BStyle* </td><td><a href="#style()">style</a>();</td></tr>
				<tr><td align="right">static void </td><td><a href="#setStyleSheet(const BString&)">setStyleSheet</a>(const BString& sheet);</td></tr>
				<tr><td align="right">static void </td><td><a href="#addStyleSheet(const BString&)">addStyleSheet</a>(const BString& sheet);</td></tr>
				<tr><td align="right">static void </td><td><a href="#resetStyles(BWidget*)">resetStyles</a>(BWidget* widget = 0);</td></tr>
				<tr><td align="right">static void </td><td><a href="#cleanTranslate(BWidget*)">cleanTranslate</a>(BWidget* widget = 0);</td></tr>
				<tr><td align="right">static bool </td><td><a href="#setProperty(const char*, const BValue&)">setProperty</a>(const char* name, const BValue& value);</td></tr>
				<tr><td align="right">static const BValue& </td><td><a href="#property(const char*)">property</a>(const char* name);</td></tr>
				<tr><td align="right">static bool </td><td><a href="#setProperty(const BString&, const BValue&)">setProperty</a>(const BString& name, const BValue& value);</td></tr>
				<tr><td align="right">static const BValue& </td><td><a href="#property(const BString&)">property</a>(const BString& name);</td></tr>
				<tr><td align="right">static int </td><td><a href="#socketCount()">socketCount</a>();</td></tr>
				<tr><td align="right">static BSocket* </td><td><a href="#socket(int)">socket</a>(int index);</td></tr>
				<tr><td align="right">static int </td><td><a href="#sceneCount()">sceneCount</a>();</td></tr>
				<tr><td align="right">static BScene* </td><td><a href="#scene(int)">scene</a>(int index);</td></tr>
				<tr><td align="right">static int </td><td><a href="#movieCount()">movieCount</a>();</td></tr>
				<tr><td align="right">static BMovie* </td><td><a href="#movie(int)">movie</a>(int index);</td></tr>
				<tr><td align="right">static int </td><td><a href="#shortcutCount()">shortcutCount</a>();</td></tr>
				<tr><td align="right">static BShortcut* </td><td><a href="#shortcut(int)">shortcut</a>(int index);</td></tr>
				<tr><td align="right">static void </td><td><a href="#addFontPath(const BString&)">addFontPath</a>(const BString& fontPath);</td></tr>
				<tr><td align="right">static void </td><td><a href="#removeFontPath(const BString&)">removeFontPath</a>(const BString& fontPath);</td></tr>
				<tr><td align="right">static void </td><td><a href="#addPluginPath(const BString&)">addPluginPath</a>(const BString& pluginPath);</td></tr>
				<tr><td align="right">static void </td><td><a href="#removePluginPath(const BString&)">removePluginPath</a>(const BString& pluginPath);</td></tr>
				<tr><td align="right">static int </td><td><a href="#fontPathCount()">fontPathCount</a>();</td></tr>
				<tr><td align="right">static const BString& </td><td><a href="#fontPath(int)">fontPath</a>(int index);</td></tr>
				<tr><td align="right">static int </td><td><a href="#pluginPathCount()">pluginPathCount</a>();</td></tr>
				<tr><td align="right">static const BString& </td><td><a href="#pluginPath(int)">pluginPath</a>(int index);</td></tr>
				<tr><td align="right">static BWidget* </td><td><a href="#activeWindow()">activeWindow</a>();</td></tr>
				<tr><td align="right">static BWidget* </td><td><a href="#hoveredWidget()">hoveredWidget</a>();</td></tr>
				<tr><td align="right">static BWidget* </td><td><a href="#focusedWidget()">focusedWidget</a>();</td></tr>
				<tr><td align="right">static BWidget* </td><td><a href="#activeModalWidget()">activeModalWidget</a>();</td></tr>
				<tr><td align="right">static BWidget* </td><td><a href="#activePopupWidget()">activePopupWidget</a>();</td></tr>
			</table>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right">inline </td><td><a href="#AutoWorkPath(const BString&)">AutoWorkPath</a>(const BString& path);</td></tr>
				<tr><td align="right">inline </td><td><a href="#~AutoWorkPath()">~AutoWorkPath</a>();</td></tr>
				<tr><td align="right">inline bool </td><td><a href="#failed() const">failed</a>() const;</td></tr>
			</table>
			<div id="desc">
				<h2>Detail Description :</h2>
				<p>The BApplication class manages the GUI application's control flow and main settings. It handles widget specific initialization, finalization. BApplication will initialize a lot of useful shits such as styles, paths, sockets and so on. It is recommended to initialize an application first in your program.</p>
			</div>
			<h2 id="docs">Member Documentation :</h2>
			<div id="BApplication(int,char**)">
				<h3>BApplication(int argc = 0, char** argv = 0);</h3>
				<p>Initializes an application with system input argc and argv, but don't do anything about these two params. </p>
			</div>
			<div id="~BApplication()">
				<h3>~BApplication();</h3>
				<p>Finalizes appliction by release a lot of thing.</p>
			</div>
			<div id="argc()">
				<h3>static int argc();</h3>
			</div>
			<div id="argv(int)">
				<h3>static const BString&amp; argv(int index);</h3>
			</div>
			<div id="setFrequency(int)">
				<h3>static void setFrequency(int frequency);</h3>
				<p>Set application's frequency which means the application main loop will try to update how many times a second. Default frequency is 30. Sometimes program has too much work to do the real frequency could be less than this number.</p>
			</div>
			<div id="frequency()">
				<h3>static int frequency();</h3>
				<p>Get the frequency of application.</p>
			</div>
			<div id="realFrequency()">
				<h3>static int realFrequency();</h3>
				<p>Get the real frequency of this application.</p>
			</div>
			<div id="setClickInterval(double)">
				<h3>static void setClickInterval(double clickInterval);</h3>
			</div>
			<div id="clickInterval()">
				<h3>static double clickInterval();</h3>
			</div>
			<div id="exit(int)">
				<h3>static void exit(int code = 0);</h3>
			</div>
			<div id="code()">
				<h3>static int code();</h3>
				<p>If program is over you can catch the result code using this function.</p>
			</div>
			<div id="execute()">
				<h3>static int execute();</h3>
				<p>Start the main loop of application, when this return, you can call this function to restart the main loop.</p>
			</div>
			<div id="appPath()">
				<h3>static const BString&amp; appPath();</h3>
			</div>
			<div id="libPath()">
				<h3>static const BString&amp; libPath();</h3>
			</div>
			<div id="homePath()">
				<h3>static const BString&amp; homePath();</h3>
			</div>
			<div id="currentPath()">
				<h3>static BString currentPath();</h3>
			</div>
			<div id="currentPath(BString&)">
				<h3>static bool currentPath(BString&amp; path);</h3>
			</div>
			<div id="setCurrentPath(const BString&)">
				<h3>static bool setCurrentPath(const BString&amp; path);</h3>
			</div>
			<div id="setFont(const BString&,int)">
				<h3>static void setFont(const BString&amp; family, int size = 20);</h3>
				<p>Installs a font to the style of this application.</p>
			</div>
			<div id="setFont(BFont*)">
				<h3>static void setFont(BFont* font);</h3>
			</div>
			<div id="font()">
				<h3>static const BFont* font();</h3>
			</div>
			<div id="setStyle(BStyle*)">
				<h3>static void setStyle(BStyle* style);</h3>
				<p>Installs a style for this application.</p>
			</div>
			<div id="style()">
				<h3>static BStyle* style();</h3>
				<p>Get a style installed in this application.</p>
			</div>
			<div id="setStyleSheet(const BString&)">
				<h3>static void setStyleSheet(const BString&amp; sheet);</h3>
				<p>Install a style sheet for this applicaiton. If sheet is a file name the file will be load to create styles, otherwise the sheet will be read as text to create styles.</p>
			</div>
			<div id="addStyleSheet(const BString&)">
				<h3>static void addStyleSheet(const BString&amp; sheet);</h3>
			</div>
			<div id="resetStyles(BWidget*)">
				<h3>static void resetStyles(BWidget* widget = 0);</h3>
			</div>
			<div id="cleanTranslate(BWidget*)">
				<h3>static void cleanTranslate(BWidget* widget = 0);</h3>
			</div>
			<div id="setProperty(const char*, const BValue&)">
				<h3>static bool setProperty(const char* name, const BValue&amp; value);</h3>
			</div>
			<div id="property(const char*)">
				<h3>static const BValue&amp; property(const char* name);</h3>
			</div>
			<div id="setProperty(const BString&, const BValue&)">
				<h3>static bool setProperty(const BString&amp; name, const BValue&amp; value);</h3>
			</div>
			<div id="property(const BString&)">
				<h3>static const BValue&amp; property(const BString&amp; name);</h3>
			</div>
			<div id="socketCount()">
				<h3>static int socketCount();</h3>
			</div>
			<div id="socket(int)">
				<h3>static BSocket* socket(int index);</h3>
			</div>
			<div id="sceneCount()">
				<h3>static int sceneCount();</h3>
			</div>
			<div id="scene(int)">
				<h3>static BScene* scene(int index);</h3>
			</div>
			<div id="movieCount()">
				<h3>static int movieCount();</h3>
			</div>
			<div id="movie(int)">
				<h3>static BMovie* movie(int index);</h3>
			</div>
			<div id="shortcutCount()">
				<h3>static int shortcutCount();</h3>
			</div>
			<div id="shortcut(int)">
				<h3>static BShortcut* shortcut(int index);</h3>
			</div>
			<div id="addFontPath(const BString&)">
				<h3>static void addFontPath(const BString&amp; fontPath);</h3>
				<p>Add a local font path which has highest priority for looking for font file.</p>
			</div>
			<div id="removeFontPath(const BString&)">
				<h3>static void removeFontPath(const BString&amp; fontPath);</h3>
			</div>
			<div id="addPluginPath(const BString&)">
				<h3>static void addPluginPath(const BString&amp; pluginPath);</h3>
				<p>Add a local plugin path which is highest priority to look for plugins.</p>
			</div>
			<div id="removePluginPath(const BString&)">
				<h3>static void removePluginPath(const BString&amp; pluginPath);</h3>
				<p>Remove a local plugin path from application's plugin path list.</p>
			</div>
			<div id="fontPathCount()">
				<h3>static int fontPathCount();</h3>
			</div>
			<div id="fontPath(int)">
				<h3>static const BString&amp; fontPath(int index);</h3>
			</div>
			<div id="pluginPathCount()">
				<h3>static int pluginPathCount();</h3>
			</div>
			<div id="pluginPath(int)">
				<h3>static const BString&amp; pluginPath(int index);</h3>
			</div>
			<div id="activeWindow()">
				<h3>static BWidget* activeWindow();</h3>
			</div>
			<div id="hoveredWidget()">
				<h3>static BWidget* hoveredWidget();</h3>
			</div>
			<div id="focusedWidget()">
				<h3>static BWidget* focusedWidget();</h3>
			</div>
			<div id="activeModalWidget()">
				<h3>static BWidget* activeModalWidget();</h3>
			</div>
			<div id="activePopupWidget()">
				<h3>static BWidget* activePopupWidget();</h3>
			</div>
			<div id="AutoWorkPath(const BString&)">
				<h3>inline AutoWorkPath(const BString&amp; path);</h3>
			</div>
			<div id="~AutoWorkPath()">
				<h3>inline ~AutoWorkPath();</h3>
			</div>
			<div id="failed() const">
				<h3>inline bool failed() const;</h3>
			</div>
		</div>
	</body>
</html>